﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NHibernate;
using CRC.GestionSalones.Dominio.Clases;

namespace CRC.GestionSalones.Controladores
{
    public class ControladorModificarSupcircuito
    {

        Persona supCircuito = null;

        public Object[] obtenerDatosSupCircuito(int pIntId)
        {
            ISession session = null;

            try
            {
                session = NHibernate.NHibernateHelper.GetCurrentSession();
                supCircuito = (Persona)session.Get(typeof(Persona), pIntId);
                return new Object[] 
                { 
                    supCircuito.Nombre, 
                    supCircuito.Apellido1, 
                    supCircuito.Apellido2, 
                    supCircuito.TelefonoFijo, 
                    supCircuito.TelefonoMovil1,
                    supCircuito.Email 
                };
            }
            catch (HibernateException he)
            {
                session.Close();
                throw he;
            }
        }

        public void modificarSupCircuito(
                                String pStrNombre,
                                String pStrApellido1,
                                String pStrApellido2,
                                String pStrMovil,
                                String pStrFijo,
                                String pStrEmail
        )
        {
            ISession session = null;
            ITransaction tx = null;

            try 
            {
                session = NHibernate.NHibernateHelper.GetCurrentSession();
                tx = session.BeginTransaction();

                this.supCircuito.Nombre = pStrNombre;
                this.supCircuito.Apellido1 = pStrApellido1;
                this.supCircuito.Apellido2 = pStrApellido2;
                this.supCircuito.TelefonoMovil1 = pStrMovil;
                this.supCircuito.TelefonoFijo = pStrFijo;

                session.Update(supCircuito);
                tx.Commit();
            }
            catch (HibernateException he) {
                if (tx != null) tx.Rollback();
                session.Close();
                throw he;
            }
            
        }

    }
}
